/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.app.page.cart;

import com.shop.cereshop.app.page.product.ProductCoupon;
import com.shop.cereshop.commons.domain.buyer.CereBuyerReceive;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 购物车选中商品总价格计算结果
 */
@Data
@ApiModel(value = "CartTotalPriceResult", description = "购物车选中商品总价格计算结果")
public class CartTotalPriceResult {

    /**
     * 下单key
     */
    @ApiModelProperty(value = "下单key")
    private String key;
    /**
     * 总金额（优惠前）
     */
    @ApiModelProperty(value = "总金额（优惠前）")
    private BigDecimal totalPrice;

    /**
     * 折扣金额
     */
    @ApiModelProperty(value = "折扣金额")
    private BigDecimal discountAmount;

    /**
     * 折扣后金额
     */
    @ApiModelProperty(value = "折扣后金额")
    private BigDecimal finalPrice;

    /**
     * 运费金额
     */
    @ApiModelProperty(value = "运费金额")
    private BigDecimal distributionPrice;

    /**
     * 收货地址信息
     */
    @ApiModelProperty(value = "收货地址信息")
    private CereBuyerReceive receive;

    /**
     * 使用的优惠券信息（如果使用了优惠券）
     */
    @ApiModelProperty(value = "使用的优惠券信息（如果使用了优惠券）")
    private ProductCoupon usedCoupon;

    /**
     * 商品数（不核算数量，即商品种类数）
     */
    @ApiModelProperty(value = "商品数（不核算数量，即商品种类数）")
    private Integer productCount;

    /**
     * 商品总件数（商品*数量）
     */
    @ApiModelProperty(value = "商品总件数（商品*数量）")
    private Integer totalQuantity;

    /**
     * 商品列表
     */
    @ApiModelProperty(value = "商品列表")
    private List<CartSku> productList;

    /**
     * 订单类型 1-到店用 2-电商购 3-同城送
     */
    private Integer type;
}

